﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Linq.Mapping;
using System.Data.Linq;

namespace VemTransporte.Models.Basica
{
    [Table(Name="EmpresaTelefone")]
    public class EmpresaTelefone
    {
        #region ATRIBUTOS
        private int id = 0;
        //private EntityRef<TelefoneTipo> telefoneTipo;// 0-Celular / 1-Residencial / 2-Comercial / 3-Contato
        private string numero;// Armazena só o numero!
        private int _IdEmpresa;
        private EntityRef<Empresa> _Empresa;
        private int _IdTipoTelefone;
        private EntityRef<TipoTelefone> _TipoTelefone;
        #endregion

        #region PROPRIEDADES
        [Column(Name="PK_IdEmpresaTelefone", Storage="id", IsDbGenerated=true, IsPrimaryKey=true, AutoSync=AutoSync.OnInsert)]
        public int Id
        {
            get { return id; }
        }
        
        [Column(Name="FK_IdEmpresa", Storage="_IdEmpresa", CanBeNull=false)]
        public int IdEmpresa
        {
            get { return _IdEmpresa; }
            set { _IdEmpresa = value; }
        }

        [Association(ThisKey = "IdEmpresa", OtherKey = "Id", Storage = "_Empresa", IsForeignKey = true)]
        public Empresa Empresa
        {
            get { return this._Empresa.Entity; }
            set { this._Empresa.Entity = value; }
        }

        [Column(Name="ETE_Numero")]
        public string Numero
        {
            get { return numero; }
            set { numero = value; }
        }

        [Column(Name="FK_IdTipoTelefone", Storage="_IdTipoTelefone", CanBeNull = false)]
        public int IdTipoTelefone
        {
            get { return _IdTipoTelefone; }
            set { _IdTipoTelefone = value; }
        }

        [Association(ThisKey="IdTipoTelefone", OtherKey="Id", Storage="_TipoTelefone", IsForeignKey=true)]
        public TipoTelefone TipoTelefone
        {
            get { return _TipoTelefone.Entity; }
            set { this._TipoTelefone.Entity = value; }
        }
        #endregion

        #region CONSTRUTOR
        public EmpresaTelefone() 
        { 
            this._Empresa = new EntityRef<Empresa>();
            this._TipoTelefone = new EntityRef<TipoTelefone>();
        }

        #endregion
    }
}